{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a0452227",
   "metadata": {},
   "source": [
    "Copyright © 2023 Gurobi Optimization, LLC"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b2a1cec",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "# Text Dissimilarity using Linear Programming"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a855eb7d",
   "metadata": {
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "In this notebook, we will walk-through a unique example demonstrating how you can apply optimization to assess text dissimilarity. There are numerous potential applications such as in detecting plagiarism, information retrieval, clustering, text categorization, topic detection, question answer session, machine translation and text summarization. Read here for [more](https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=1aff7b429f99f529228a4299a5794971adeb1ca3#:~:text=There%20are%20several%20applications%20or,machine%20translation%2C%20text%20summarization%20etc).\n",
    "\n",
    "The **Word Mover's Distance** (WMD) is a popular measure of text similarity, which measures the semantic distance between two documents. In this notebook, we will achieve two goals:\n",
    "- Given two text passages, model WMD as an optimization problem and compute it\n",
    "- Examine a plagiarized passage from a book, then find the original passage in that book that has the closest semantic meaning to the given passage\n",
    "\n",
    "\n",
    "|<img src=\"https://raw.githubusercontent.com/Gurobi/modeling-examples/master/text_dissimilarity/figure_obama.png\" width=\"500\" align=\"center\">| \n",
    "|:--:|\n",
    "|An illustration of Word Movers' Distance to measure the similarity between two documents. <b>Image Credits: [Towards AI](https://towardsai.net/p/nlp/word-movers-distance-wmd-explained-an-effective-method-of-document-classification-89cb258401f4) </b>| "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb1d812d",
   "metadata": {},
   "source": [
    "## I. The data\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "770378b5",
   "metadata": {},
   "source": [
    "### Google Word-to-Vector Data\n",
    "\n",
    "In order to find the semantic distance between words, we start by constructing a vector embedding for each word.\n",
    "For this, we use the popular 'word2vec' dataset from Google News. This dataset has vector embeddings that are pre-trained for 3 million words. Read more about the dataset [here](https://code.google.com/archive/p/word2vec/).\n",
    "\n",
    "We now import all the packages needed and download the word2vec data. Note that in the code below, downloading the data takes up to a minute. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "3f2bb6d0",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt   \n",
    "from gensim.models import KeyedVectors \n",
    "from scipy import spatial\n",
    "\n",
    "import gensim.downloader as api\n",
    "model = api.load('word2vec-google-news-300')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dee9fe5c",
   "metadata": {},
   "source": [
    "We have downloaded the massive dataset of word-vector embeddings. For example, the embedding of the word \"Sherlock' is given below, in a 300-dimension space."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "42792a64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.00646973,  0.04882812, -0.10205078,  0.1328125 , -0.01855469,\n",
       "       -0.10253906, -0.10693359,  0.01556396,  0.22949219,  0.06054688,\n",
       "       -0.02392578,  0.09912109, -0.04541016, -0.01965332, -0.01202393,\n",
       "        0.04370117,  0.046875  , -0.16210938, -0.02453613, -0.16894531,\n",
       "       -0.03662109, -0.21289062,  0.25      , -0.06396484,  0.25195312,\n",
       "        0.31054688,  0.0145874 ,  0.18945312, -0.02233887,  0.0072937 ,\n",
       "       -0.328125  , -0.20703125, -0.01586914,  0.09033203, -0.06347656,\n",
       "       -0.07470703, -0.12255859,  0.23046875, -0.06835938,  0.09179688,\n",
       "        0.07861328, -0.11669922,  0.078125  ,  0.2734375 ,  0.078125  ,\n",
       "       -0.03808594, -0.02685547,  0.203125  ,  0.1640625 ,  0.14941406,\n",
       "       -0.11279297,  0.01977539, -0.19238281,  0.10302734,  0.08642578,\n",
       "       -0.20214844,  0.06738281, -0.25585938, -0.15527344,  0.05493164,\n",
       "       -0.00915527,  0.24121094,  0.04638672,  0.02453613, -0.22265625,\n",
       "       -0.10644531, -0.30273438,  0.01446533, -0.24414062,  0.04785156,\n",
       "        0.13867188, -0.3125    ,  0.20703125,  0.07324219,  0.09521484,\n",
       "        0.21875   ,  0.125     ,  0.03198242,  0.21289062, -0.00183868,\n",
       "       -0.17773438,  0.15039062, -0.11035156,  0.02563477, -0.09179688,\n",
       "       -0.23730469,  0.0111084 , -0.04589844,  0.171875  , -0.08789062,\n",
       "       -0.20605469,  0.0612793 , -0.0559082 ,  0.03710938, -0.03515625,\n",
       "        0.15429688,  0.06787109, -0.02844238, -0.27929688, -0.11083984,\n",
       "       -0.19628906, -0.01177979,  0.20410156, -0.08740234,  0.1875    ,\n",
       "        0.10693359,  0.04199219,  0.07226562, -0.03112793,  0.0546875 ,\n",
       "        0.01159668, -0.02172852,  0.01977539,  0.10058594,  0.10595703,\n",
       "        0.11816406, -0.09326172, -0.21484375,  0.37890625, -0.00320435,\n",
       "       -0.06640625,  0.04785156,  0.10839844,  0.0859375 ,  0.02954102,\n",
       "       -0.11962891, -0.296875  ,  0.14355469, -0.06835938,  0.15820312,\n",
       "       -0.14257812, -0.1640625 , -0.30664062,  0.04663086,  0.03808594,\n",
       "        0.07275391,  0.24902344, -0.08447266,  0.14941406,  0.07763672,\n",
       "        0.0534668 , -0.07373047,  0.16210938, -0.00762939, -0.08398438,\n",
       "        0.12695312, -0.140625  , -0.18847656, -0.09228516,  0.41210938,\n",
       "        0.03295898, -0.25390625,  0.04443359,  0.09179688,  0.0559082 ,\n",
       "       -0.03857422,  0.0246582 , -0.11328125, -0.04711914,  0.00848389,\n",
       "        0.16699219,  0.01464844, -0.07519531,  0.0390625 , -0.05761719,\n",
       "       -0.03149414,  0.19726562,  0.03088379,  0.203125  , -0.06298828,\n",
       "        0.13574219, -0.05493164,  0.0390625 , -0.18652344,  0.13867188,\n",
       "        0.09716797,  0.02966309, -0.12890625, -0.12597656,  0.35351562,\n",
       "       -0.16015625,  0.10107422,  0.14746094, -0.29101562, -0.2421875 ,\n",
       "       -0.11669922,  0.3046875 ,  0.10302734,  0.08886719, -0.328125  ,\n",
       "       -0.12255859,  0.09082031, -0.0534668 , -0.09228516,  0.02416992,\n",
       "       -0.00090408,  0.03540039, -0.15820312,  0.05273438,  0.05029297,\n",
       "        0.05200195,  0.00238037, -0.19921875,  0.31054688,  0.171875  ,\n",
       "        0.15820312,  0.07910156,  0.07177734,  0.02270508, -0.07958984,\n",
       "        0.11914062,  0.08740234, -0.08105469, -0.12890625, -0.29101562,\n",
       "        0.03149414,  0.0016098 , -0.21972656,  0.14746094, -0.06103516,\n",
       "        0.10693359, -0.06933594,  0.14941406, -0.08105469, -0.19238281,\n",
       "        0.11474609, -0.16015625, -0.16015625, -0.05371094, -0.2890625 ,\n",
       "       -0.07470703, -0.21679688,  0.04492188, -0.11279297,  0.03564453,\n",
       "        0.12207031,  0.11279297,  0.08740234,  0.12109375,  0.20996094,\n",
       "       -0.10351562, -0.23632812,  0.26367188, -0.0625    ,  0.3046875 ,\n",
       "       -0.01916504,  0.04760742,  0.20019531,  0.13574219, -0.06201172,\n",
       "       -0.10351562, -0.00970459, -0.0546875 ,  0.19042969,  0.08105469,\n",
       "       -0.06933594, -0.03125   ,  0.01275635, -0.23925781, -0.12792969,\n",
       "       -0.10009766,  0.10449219, -0.03015137,  0.27539062,  0.05395508,\n",
       "       -0.18847656, -0.18164062,  0.13085938,  0.09277344, -0.22167969,\n",
       "       -0.11230469, -0.10449219, -0.07470703,  0.26367188,  0.18554688,\n",
       "       -0.09960938,  0.14160156, -0.3671875 , -0.0201416 ,  0.13574219,\n",
       "       -0.16992188,  0.09375   ,  0.20019531,  0.08544922,  0.13769531,\n",
       "       -0.01483154, -0.21484375, -0.08886719,  0.12353516,  0.16796875,\n",
       "        0.15527344,  0.06152344, -0.10302734,  0.23144531,  0.16601562,\n",
       "       -0.10351562, -0.10498047, -0.20117188,  0.09472656,  0.265625  ],\n",
       "      dtype=float32)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model['Sherlock']\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f699b616",
   "metadata": {},
   "source": [
    "### Enter two documents \n",
    "\n",
    "Next, we create the two documents to compare. In this example we look at a sentence from Sir Arthur Conan Doyle’s *The Adventures of Sherlock Holmes* (the original literary data-driven detective): \n",
    "\n",
    "\"The little man stood glancing from one to the other of us with half-frightened, half-hopeful eyes, as one who is not sure whether he is on the verge of a windfall or of a catastrophe.\"\n",
    "\n",
    "\n",
    "We use a popular text generation technology ([ChatGPT](https://chat.openai.com/chat)) to construct semantically similar sentence. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c59d76c",
   "metadata": {},
   "source": [
    "<img src=\"https://raw.githubusercontent.com/Gurobi/modeling-examples/master/text_dissimilarity/chatgpt clip.gif\" width=\"750\" align=\"center\">\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "76965342",
   "metadata": {},
   "source": [
    "We store the two sentences (documents) as strings. You can try other pairs of sentences too. Some are given in the commented text below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "11248557",
   "metadata": {},
   "outputs": [],
   "source": [
    "document1 = 'The little man stood glancing from one to the other of us with half-frightened, half-hopeful eyes, as one who is not sure whether he is on the verge of a windfall or of a catastrophe.'\n",
    "document2 = 'With a gaze that shifted back and forth between us, the diminutive figure appeared to be a mixture of apprehension and anticipation, uncertain if he was on the cusp of a fortune or a disaster.'\n",
    "\n",
    "# document1 = 'I barely saw Sherlock recently.'\n",
    "# document2 = 'Lately, I have had little opportunity to catch a glimpse of Sherlock.'\n",
    "\n",
    "# document1 = 'Obama speaks to the media in Illinois.'\n",
    "# document2 = 'The President greets the press in Chicago'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5560ff9",
   "metadata": {},
   "source": [
    "##  II. Pre-processing the text\n",
    "\n",
    "Before comparing the two documents, we first eliminate certain words that may not carry any semantic value, for example, prepositions (e.g., in, on, under), conjunctions (e.g., and, for, but), and determiners (e.g., a, an, the, another). These words are called **stop words**. Read more [here](https://kavita-ganesan.com/what-are-stop-words/#.ZCCurezMLt0).\n",
    "We also remove punctuation marks and proper nouns, and then we convert all the words to their lower-case equivalents.\n",
    "\n",
    "We use the nltk package to ensure this. In the code below, the lines with \"nltk.download\" need to be executed the first time this notebook is run. You may comment the lines for subsequent runs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1fcc77a1",
   "metadata": {},
   "outputs": [],
   "source": [
    "import nltk \n",
    "nltk.download('stopwords')\n",
    "nltk.download('averaged_perceptron_tagger_eng')  \n",
    "nltk.download('punkt')\n",
    "from nltk.corpus import stopwords\n",
    "from nltk.tokenize import RegexpTokenizer, word_tokenize\n",
    "from nltk.stem import PorterStemmer \n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c3460d5",
   "metadata": {},
   "source": [
    "Split each document into words (or \"tags\"). Each word is classified into several categories. For example, 'NN' corresponds to a singular noun and 'VBD' is a verb in the past tense. See [here](https://pythonprogramming.net/natural-language-toolkit-nltk-part-speech-tagging/) for the complete list of classifications. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a89731ed",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('The', 'DT'), ('little', 'JJ'), ('man', 'NN'), ('stood', 'VBD'), ('glancing', 'VBG'), ('from', 'IN'), ('one', 'CD'), ('to', 'TO'), ('the', 'DT'), ('other', 'JJ'), ('of', 'IN'), ('us', 'PRP'), ('with', 'IN'), ('half-frightened,', 'JJ'), ('half-hopeful', 'JJ'), ('eyes,', 'NN'), ('as', 'IN'), ('one', 'CD'), ('who', 'WP'), ('is', 'VBZ'), ('not', 'RB'), ('sure', 'JJ'), ('whether', 'IN'), ('he', 'PRP'), ('is', 'VBZ'), ('on', 'IN'), ('the', 'DT'), ('verge', 'NN'), ('of', 'IN'), ('a', 'DT'), ('windfall', 'NN'), ('or', 'CC'), ('of', 'IN'), ('a', 'DT'), ('catastrophe.', 'NN')]\n",
      "[('With', 'IN'), ('a', 'DT'), ('gaze', 'NN'), ('that', 'WDT'), ('shifted', 'VBD'), ('back', 'RB'), ('and', 'CC'), ('forth', 'NN'), ('between', 'IN'), ('us,', 'JJ'), ('the', 'DT'), ('dimunitive', 'JJ'), ('figure', 'NN'), ('appeared', 'VBD'), ('to', 'TO'), ('be', 'VB'), ('a', 'DT'), ('mixture', 'NN'), ('of', 'IN'), ('apprehension', 'NN'), ('and', 'CC'), ('anticipation,', 'NN'), ('uncertain', 'RB'), ('if', 'IN'), ('he', 'PRP'), ('was', 'VBD'), ('on', 'IN'), ('the', 'DT'), ('cusp', 'NN'), ('of', 'IN'), ('a', 'DT'), ('fortune', 'NN'), ('or', 'CC'), ('a', 'DT'), ('disaster.', 'NN')]\n"
     ]
    }
   ],
   "source": [
    "tagged_doc1 = nltk.tag.pos_tag(document1.split())\n",
    "tagged_doc2 = nltk.tag.pos_tag(document2.split()) \n",
    "print(tagged_doc1)\n",
    "print(tagged_doc2) \n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "15bc1d6d",
   "metadata": {},
   "source": [
    "Knowing the categories, we first remove the proper nouns, given by the classification NNP (for singular proper nouns) and NNPS (for plural proper nouns)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ddabb840",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['The', 'little', 'man', 'stood', 'glancing', 'from', 'one', 'to', 'the', 'other', 'of', 'us', 'with', 'half-frightened,', 'half-hopeful', 'eyes,', 'as', 'one', 'who', 'is', 'not', 'sure', 'whether', 'he', 'is', 'on', 'the', 'verge', 'of', 'a', 'windfall', 'or', 'of', 'a', 'catastrophe.']\n",
      "['With', 'a', 'gaze', 'that', 'shifted', 'back', 'and', 'forth', 'between', 'us,', 'the', 'dimunitive', 'figure', 'appeared', 'to', 'be', 'a', 'mixture', 'of', 'apprehension', 'and', 'anticipation,', 'uncertain', 'if', 'he', 'was', 'on', 'the', 'cusp', 'of', 'a', 'fortune', 'or', 'a', 'disaster.']\n"
     ]
    }
   ],
   "source": [
    "edited_sentence1 = [word for word,tag in tagged_doc1 if tag not in ['NNP','NNPS']]\n",
    "edited_sentence2 = [word for word,tag in tagged_doc2 if tag not in ['NNP','NNPS']] \n",
    "print(edited_sentence1)\n",
    "print(edited_sentence2) \n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6265df6f",
   "metadata": {
    "scrolled": false
   },
   "source": [
    "Next, we remove all the punctuation marks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "d5e7611c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['The', 'little', 'man', 'stood', 'glancing', 'from', 'one', 'to', 'the', 'other', 'of', 'us', 'with', 'half', 'frightened', 'half', 'hopeful', 'eyes', 'as', 'one', 'who', 'is', 'not', 'sure', 'whether', 'he', 'is', 'on', 'the', 'verge', 'of', 'a', 'windfall', 'or', 'of', 'a', 'catastrophe']\n",
      "['With', 'a', 'gaze', 'that', 'shifted', 'back', 'and', 'forth', 'between', 'us', 'the', 'dimunitive', 'figure', 'appeared', 'to', 'be', 'a', 'mixture', 'of', 'apprehension', 'and', 'anticipation', 'uncertain', 'if', 'he', 'was', 'on', 'the', 'cusp', 'of', 'a', 'fortune', 'or', 'a', 'disaster']\n"
     ]
    }
   ],
   "source": [
    "tokenizer = RegexpTokenizer(r'\\w+') \n",
    "processed_doc1 = tokenizer.tokenize(' '.join(edited_sentence1))\n",
    "processed_doc2 = tokenizer.tokenize(' '.join(edited_sentence2))\n",
    "print(processed_doc1)\n",
    "print(processed_doc2) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a39b43c8",
   "metadata": {},
   "source": [
    "We now remove all the stop words."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "d7040484",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['little', 'man', 'stood', 'glancing', 'one', 'us', 'half', 'frightened', 'half', 'hopeful', 'eyes', 'one', 'sure', 'whether', 'verge', 'windfall', 'catastrophe'] \n",
      " ['gaze', 'shifted', 'back', 'forth', 'us', 'dimunitive', 'figure', 'appeared', 'mixture', 'apprehension', 'anticipation', 'uncertain', 'cusp', 'fortune', 'disaster']\n"
     ]
    }
   ],
   "source": [
    "processed_doc1 = [x.lower() for x in processed_doc1]\n",
    "processed_doc2 = [x.lower() for x in processed_doc2]\n",
    "processed_doc1 = [i for i in processed_doc1 if i not in stopwords.words('english')]\n",
    "processed_doc2 = [i for i in processed_doc2 if i not in stopwords.words('english')]\n",
    "\n",
    "print(processed_doc1,'\\n', processed_doc2) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae9b58f6",
   "metadata": {},
   "source": [
    "For a better visualization of the processed documents, let us create word clouds out of them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "550dc930",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Document 1:\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Document 2:\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator\n",
    "\n",
    "print(\"Document 1:\") \n",
    "wordcloud = WordCloud(max_font_size=50, max_words=100, background_color=\"white\").generate(' '.join(processed_doc1))\n",
    "plt.imshow(wordcloud, interpolation='bilinear')\n",
    "plt.axis(\"off\")\n",
    "plt.show()\n",
    "\n",
    "print(\"Document 2:\")\n",
    "wordcloud = WordCloud(max_font_size=50, max_words=100, background_color=\"white\").generate(' '.join(processed_doc2))\n",
    "plt.imshow(wordcloud, interpolation='bilinear')\n",
    "plt.axis(\"off\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c977b8ef",
   "metadata": {},
   "source": [
    "To prepare the documents for the optimization model, let us store the frequency of occurrences of each word."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "f3f9c093",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'verge', 'glancing', 'whether', 'catastrophe', 'half', 'windfall', 'stood', 'one', 'frightened', 'eyes', 'sure', 'us', 'man', 'hopeful', 'little'} {'cusp', 'anticipation', 'uncertain', 'figure', 'forth', 'disaster', 'fortune', 'mixture', 'back', 'apprehension', 'us', 'dimunitive', 'gaze', 'shifted', 'appeared'}\n"
     ]
    }
   ],
   "source": [
    "freqency_D1 = {i: processed_doc1.count(i)/len(processed_doc1) for i in processed_doc1}\n",
    "freqency_D2 = {i: processed_doc2.count(i)/len(processed_doc2) for i in processed_doc2}\n",
    "\n",
    "D1 = set(processed_doc1)\n",
    "D2 = set(processed_doc2) \n",
    "print(D1,D2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a5cf37a4",
   "metadata": {},
   "source": [
    "We now get the word-to-word distance matrix. Given the vector embeddings of two words $\\overline{x}_1$ and $\\overline{x}_2$, we take the cosine distance between them given by, $\\overline{x}_1 . \\overline{x}_2$/$|\\overline{x}_1||\\overline{x}_2|$. Uncomment the code below to see the sorted distances between all pairs of words in the two documents."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "547ce764",
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "distance = {(i,j): spatial.distance.cosine(model[i],model[j]) for i in D1 for j in D2} \n",
    "\n",
    "# dict(sorted(distance.items(), key=lambda item: item[1]))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "898014e1",
   "metadata": {},
   "source": [
    "## III. Computing text dissimilarity using a linear program\n",
    "\n",
    "Now, we model the Word Mover's Distance (WMD) as an optimization problem.\n",
    "The idea is to send *flow* from the words in document 1 to the words in document 2 in such a way that the product of the distance and flow is minimized.\n",
    "In other words, we send higher flow between words that have a smaller distance, and hence, are semantically closer to each other.\n",
    "\n",
    "In the figure below, we see how the optimal flow corresponds to pairs of words that are semantically the closest.\n",
    "\n",
    "|<img src=\"https://raw.githubusercontent.com/Gurobi/modeling-examples/master/text_dissimilarity/figure_obama2.png\" width=\"500\" align=\"center\">| \n",
    "|:--:|\n",
    "|An illustration of Word Movers' Distance to measure the similarity between two documents. <b>Image Credits: [Towards AI](https://towardsai.net/p/nlp/word-movers-distance-wmd-explained-an-effective-method-of-document-classification-89cb258401f4) </b>| \n",
    "\n",
    "<!-- The score: weighted sum of distances. -->\n",
    "\n",
    "In optimization terminology, this model is famously called the **transportation model**, where the flow corresponds to transporting commodities between locations (such as warehouse and retail locations). \n",
    "\n",
    "\n",
    "Before we build the model, we first define the input parameters.\n",
    "\n",
    "### Input Parameters\n",
    "\n",
    "$D_1, D_2$: two documents each representing a set of words,\n",
    "\n",
    "$p_w$: frequency of word $w$ in $D_1$,\n",
    "\n",
    "$q_{w'}$: frequency of word $w'$ in $D_2$,\n",
    "\n",
    "$d(w,w')$: distance between word embeddings of $w$ and $w'$.\n",
    "\n",
    "To build the model, we initiate the Gurobi model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "4b72b117",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: gurobipy in /Users/rahul.swamy/opt/anaconda3/lib/python3.9/site-packages (10.0.0)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "%pip install gurobipy\n",
    "import gurobipy as gp\n",
    "from gurobipy import GRB\n",
    "\n",
    "# Initialize Model\n",
    "m = gp.Model(\"Text_similarity\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9531ec3",
   "metadata": {},
   "source": [
    "### Flow variables\n",
    "\n",
    "The following is the key decision variable in the model.\n",
    "\n",
    "$f_{w,w'}$: Amount of flow from word $w$ in $D_1$ to word $w'$ in $D_2$.\n",
    "\n",
    "\n",
    "\n",
    "We can add the flow variables for all pairs of words using the addVars function. We allow the flow variable to be between $0$ and $1$, and hence set the lower bound (lb) to $0$ and the upper bound (ub) to $1$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d0144817",
   "metadata": {},
   "outputs": [],
   "source": [
    "f = m.addVars(D1,D2,name=\"f\",lb=0,ub=1) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b527a3f",
   "metadata": {},
   "source": [
    "### Objective: Minimize the net distance times flow \n",
    "\n",
    "\n",
    "The higher the flow, the more semantically close those words are expected to be. This is achieved by defining the objective function to be the product of the distance and the flow, mathematically expressed as:\n",
    "\n",
    "\\begin{aligned}\n",
    "\\textrm{minimize} \\ \\sum_{w \\in D_1} \\sum_{w' \\in D_2}&  d(w,w') f_{w,w'}\n",
    "\\end{aligned}\n",
    "\n",
    "\n",
    "\n",
    "Minimizing this objective naturally allocates higher flow values to word-pairs that have a smaller distance. We can add this objective to the Gurobi model below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "7dbcdfeb",
   "metadata": {},
   "outputs": [],
   "source": [
    "m.ModelSense = GRB.MINIMIZE\n",
    "m.setObjective(sum(f[w,w_prime]*distance[w,w_prime] for w in D1 for w_prime in D2))#/sum(cost[w,w_prime] for w in D for w_prime in D_prime))\n",
    "m.update()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "10d2a9ba",
   "metadata": {},
   "source": [
    "### Constraints\n",
    "\n",
    "\n",
    "Finally, we define constraints to ensure that each word has a representation in the flow proportional to its frequency of occurrence.\n",
    "We do this by ensuring: the net flow exiting from each word $w$ in document $D_1$ is equal to its frequency of occurrence in $D_1$.\n",
    "Similarly, the net flow entering each word $w'$ in document $D_2$ is equal to its frequency of occurrence in $D_2$.\n",
    "These two constraints can be expressed by the following two equations.\n",
    "\n",
    "\\begin{aligned}\n",
    " \\sum_{w' \\in D_2} f_{w,w'} &= p_w \\quad  \\forall \\ w \\in D_1, \\\\\n",
    "\\ \\sum_{w \\in D_1} f_{w,w'} &= q_{w'} \\quad  \\forall  \\ w' \\in D_2\n",
    "\\end{aligned}\n",
    "\n",
    "We add these constraints to the Gurobi model below using the addConstrs function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "24ba210f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'cusp': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'anticipation': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'uncertain': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'figure': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'forth': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'disaster': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'fortune': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'mixture': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'back': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'apprehension': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'us': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'dimunitive': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'gaze': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'shifted': <gurobi.Constr *Awaiting Model Update*>,\n",
       " 'appeared': <gurobi.Constr *Awaiting Model Update*>}"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m.addConstrs(f.sum(w, '*') == freqency_D1[w] for w in D1)\n",
    "m.addConstrs(f.sum('*', w_prime) == freqency_D2[w_prime] for w_prime in D2)\n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29514d5c",
   "metadata": {},
   "source": [
    "### Solve the model"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "714ad9c8",
   "metadata": {},
   "source": [
    "We have added all the decision variables, objective, and constraints, and we are ready to solve the model!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "f35da347",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (mac64[rosetta2])\n",
      "Thread count: 8 physical cores, 8 logical processors, using up to 8 threads\n",
      "Optimize a model with 30 rows, 225 columns and 450 nonzeros\n",
      "Model fingerprint: 0x20379dc0\n",
      "Coefficient statistics:\n",
      "  Matrix range     [1e+00, 1e+00]\n",
      "  Objective range  [2e-01, 1e+00]\n",
      "  Bounds range     [1e+00, 1e+00]\n",
      "  RHS range        [6e-02, 1e-01]\n",
      "Presolve time: 0.00s\n",
      "Presolved: 30 rows, 225 columns, 450 nonzeros\n",
      "\n",
      "Iteration    Objective       Primal Inf.    Dual Inf.      Time\n",
      "       0    5.7088890e-01   7.607843e-01   0.000000e+00      0s\n",
      "      22    6.2664077e-01   0.000000e+00   0.000000e+00      0s\n",
      "\n",
      "Solved in 22 iterations and 0.01 seconds (0.00 work units)\n",
      "Optimal objective  6.266407741e-01\n"
     ]
    }
   ],
   "source": [
    "m.optimize()  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "237b9dc0",
   "metadata": {},
   "source": [
    "The model is solved, and the flow solution is stored in a Pandas dataframe for easy visualization."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5deb8620",
   "metadata": {},
   "source": [
    "How can we interpret the result? How much dissimilarity is good enough to detect plagiarism?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9e880771",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dissimilarity score: 0.63 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>word 1</th>\n",
       "      <th>word 2</th>\n",
       "      <th>flow</th>\n",
       "      <th>distance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>us</td>\n",
       "      <td>us</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>verge</td>\n",
       "      <td>cusp</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.202558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>catastrophe</td>\n",
       "      <td>disaster</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.268376</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>eyes</td>\n",
       "      <td>gaze</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.408681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>glancing</td>\n",
       "      <td>gaze</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.470946</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>windfall</td>\n",
       "      <td>fortune</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.508320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hopeful</td>\n",
       "      <td>uncertain</td>\n",
       "      <td>0.050980</td>\n",
       "      <td>0.585380</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>stood</td>\n",
       "      <td>appeared</td>\n",
       "      <td>0.015686</td>\n",
       "      <td>0.690484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>whether</td>\n",
       "      <td>uncertain</td>\n",
       "      <td>0.015686</td>\n",
       "      <td>0.690748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>one</td>\n",
       "      <td>us</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.706085</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>hopeful</td>\n",
       "      <td>cusp</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.711140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>glancing</td>\n",
       "      <td>appeared</td>\n",
       "      <td>0.050980</td>\n",
       "      <td>0.712400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>sure</td>\n",
       "      <td>back</td>\n",
       "      <td>0.050980</td>\n",
       "      <td>0.725247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>frightened</td>\n",
       "      <td>apprehension</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.730680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>little</td>\n",
       "      <td>mixture</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.744625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>half</td>\n",
       "      <td>back</td>\n",
       "      <td>0.015686</td>\n",
       "      <td>0.759749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>one</td>\n",
       "      <td>figure</td>\n",
       "      <td>0.066667</td>\n",
       "      <td>0.774103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>stood</td>\n",
       "      <td>shifted</td>\n",
       "      <td>0.043137</td>\n",
       "      <td>0.787247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>man</td>\n",
       "      <td>dimunitive</td>\n",
       "      <td>0.058824</td>\n",
       "      <td>0.795858</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>sure</td>\n",
       "      <td>disaster</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.852819</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>half</td>\n",
       "      <td>fortune</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.853289</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>half</td>\n",
       "      <td>mixture</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.861243</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>half</td>\n",
       "      <td>anticipation</td>\n",
       "      <td>0.031373</td>\n",
       "      <td>0.878766</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>one</td>\n",
       "      <td>dimunitive</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.880989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>one</td>\n",
       "      <td>forth</td>\n",
       "      <td>0.035294</td>\n",
       "      <td>0.885124</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>whether</td>\n",
       "      <td>apprehension</td>\n",
       "      <td>0.007843</td>\n",
       "      <td>0.889341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>half</td>\n",
       "      <td>forth</td>\n",
       "      <td>0.031373</td>\n",
       "      <td>0.893175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>whether</td>\n",
       "      <td>anticipation</td>\n",
       "      <td>0.035294</td>\n",
       "      <td>0.904097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>half</td>\n",
       "      <td>shifted</td>\n",
       "      <td>0.023529</td>\n",
       "      <td>0.915657</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         word 1        word 2      flow  distance\n",
       "0            us            us  0.058824  0.000000\n",
       "1         verge          cusp  0.058824  0.202558\n",
       "2   catastrophe      disaster  0.058824  0.268376\n",
       "3          eyes          gaze  0.058824  0.408681\n",
       "4      glancing          gaze  0.007843  0.470946\n",
       "5      windfall       fortune  0.058824  0.508320\n",
       "6       hopeful     uncertain  0.050980  0.585380\n",
       "7         stood      appeared  0.015686  0.690484\n",
       "8       whether     uncertain  0.015686  0.690748\n",
       "9           one            us  0.007843  0.706085\n",
       "10      hopeful          cusp  0.007843  0.711140\n",
       "11     glancing      appeared  0.050980  0.712400\n",
       "12         sure          back  0.050980  0.725247\n",
       "13   frightened  apprehension  0.058824  0.730680\n",
       "14       little       mixture  0.058824  0.744625\n",
       "15         half          back  0.015686  0.759749\n",
       "16          one        figure  0.066667  0.774103\n",
       "17        stood       shifted  0.043137  0.787247\n",
       "18          man    dimunitive  0.058824  0.795858\n",
       "19         sure      disaster  0.007843  0.852819\n",
       "20         half       fortune  0.007843  0.853289\n",
       "21         half       mixture  0.007843  0.861243\n",
       "22         half  anticipation  0.031373  0.878766\n",
       "23          one    dimunitive  0.007843  0.880989\n",
       "24          one         forth  0.035294  0.885124\n",
       "25      whether  apprehension  0.007843  0.889341\n",
       "26         half         forth  0.031373  0.893175\n",
       "27      whether  anticipation  0.035294  0.904097\n",
       "28         half       shifted  0.023529  0.915657"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Dissimilarity score:\",round((m.ObjVal),2),\"\\n\")\n",
    "\n",
    "solution = pd.DataFrame()\n",
    "flow = {(i,j): f[i,j].X for i in D1 for j in D2 if f[i,j].X > 0} \n",
    "# flow = sorted(flow.items(), key=lambda item: item[1],reverse=True)\n",
    "solution['word 1'] = [i for (i,j) in flow]\n",
    "solution['word 2'] = [j for (i,j) in flow]\n",
    "solution['flow'] = [flow[i,j] for (i,j) in flow]\n",
    "solution['distance'] = [distance[i,j] for (i,j) in flow] \n",
    "# solution.sort_values(by='flow',ascending=False).reset_index(drop=True)\n",
    "solution.sort_values(by='distance',ascending=True).reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b95aebd",
   "metadata": {},
   "source": [
    "## IV. Detect plagiarism"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "97d52912",
   "metadata": {},
   "source": [
    "In this part of the notebook, we check if a given text has been re-written (or plagiarized) from a book. To do this, we compare the given text with every sentence in the book, and output the sentence with the smallest dissimilarity. After that, a human can make the final evaluation of whether this is indeed a case of plagiarism."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d72ffb9",
   "metadata": {},
   "source": [
    "First, read the book (The Adventures of Sherlock Holmes) as a text file. We downloaded the file from [Project Gutenberg](https://www.gutenberg.org/cache/epub/1661/pg1661.txt)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "7a57b0ca",
   "metadata": {},
   "outputs": [],
   "source": [
    "import base64\n",
    "import requests\n",
    "\n",
    "master = \"https://raw.githubusercontent.com/Gurobi/modeling-examples/master/text_dissimilarity/PG1661_raw.txt\"\n",
    "content = requests.get(master)\n",
    "content = content.text\n",
    "content = content.replace('\\n',' ')\n",
    "content = content.replace('_',' ')\n",
    "content = content.replace('\\r','') \n",
    "sentences = list(map(str.strip, content.split(\".\")))[19:]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f66b4bc",
   "metadata": {},
   "source": [
    "Pre-process all the sentences in the book."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "c2f050e0",
   "metadata": {},
   "outputs": [],
   "source": [
    "def pre_processing(document):\n",
    "    # Remove proper nouns\n",
    "    tagged_doc = nltk.tag.pos_tag(document.split())\n",
    "    edited_sentence = [word for word,tag in tagged_doc]  \n",
    "    edited_sentence = [word for word,tag in tagged_doc if tag not in ['NNP','NNPS']]  \n",
    "\n",
    "    # Remove punctuation \n",
    "    tokenizer = RegexpTokenizer(r'\\w+') \n",
    "    processed_doc = tokenizer.tokenize(' '.join(edited_sentence)) \n",
    "\n",
    "    # Remove stop words \n",
    "    processed_doc = [i for i in processed_doc if i not in stopwords.words('english')]  \n",
    "    \n",
    "    return processed_doc\n",
    "\n",
    "processed_sentences = [] # list of all sentences\n",
    "for s in sentences: \n",
    "    processed_sentences.append(pre_processing(s))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8694e3c5",
   "metadata": {},
   "source": [
    "We can write the WMD optimization model within a function that inputs two documents, and outputs their dissimilairty score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "3c15a1e1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def score_dissimilarity(D1, D2):\n",
    "\n",
    "    D1 = set(D1)\n",
    "    D2 = set(D2) \n",
    "    D2 = D2 - set([i for i in D2 if i not in model]) # in case some of the words from the book are not in the word2vec data\n",
    "    D1 = D1 - set([i for i in D1 if i not in model])\n",
    "            \n",
    "    freqency_D1 = {i: list(D1).count(i)/len(D1) for i in D1}\n",
    "    freqency_D2 = {i: list(D2).count(i)/len(D2) for i in D2}\n",
    "    \n",
    "    if len(D2) < 5: # if the sentence is too small, we set a high dissimilarity, effectively ignoring it\n",
    "        return 1\n",
    "        \n",
    "    m = gp.Model(\"Text_similarity\")\n",
    "    distance = {(i,j): spatial.distance.cosine(model[i],model[j]) for i in D1 for j in D2} \n",
    "\n",
    "    # Variables. Adjust the bounds here \n",
    "    f = m.addVars(D1,D2,name=\"f\",lb=0,ub=1) \n",
    "\n",
    "    # Minimize\n",
    "    m.ModelSense = GRB.MINIMIZE\n",
    "    m.setObjective(sum(f[w,w_prime]*distance[w,w_prime] for w in D1 for w_prime in D2))\n",
    "\n",
    "    # Add the constraints   \n",
    "    m.addConstrs(f.sum(w, '*') ==  freqency_D1[w] for w in D1)\n",
    "    m.addConstrs(f.sum('*', w_prime) == freqency_D2[w_prime] for w_prime in D2) \n",
    "    \n",
    "    m.setParam('OutputFlag', 0)\n",
    "    m.optimize()  \n",
    "    \n",
    "    return m.ObjVal"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64ebfb64",
   "metadata": {},
   "source": [
    "Now, we select a passage that is re-written from the book. The following code has some examples, but feel free to pick any sentence from [the book](https://www.gutenberg.org/cache/epub/1661/pg1661.txt) and create your own plagiarized version."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "7a4de501",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "With a gaze that shifted back and forth between us, the dimunitive figure appeared to be a mixture of apprehension and anticipation, uncertain if he was on the cusp of a fortune or a disaster.\n"
     ]
    }
   ],
   "source": [
    "sample_sentence = 'With a gaze that shifted back and forth between us, the dimunitive figure appeared to be a mixture of apprehension and anticipation, uncertain if he was on the cusp of a fortune or a disaster.'\n",
    "# sample_sentence = 'Without much conversation, yet with a friendly gesture, he gestured towards an armchair for me to sit in, offered me a box of cigars, and pointed to a liquor cabinet and a carbonated water dispenser in the corner.' \n",
    "\n",
    "print(sample_sentence)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f010759",
   "metadata": {},
   "source": [
    "Finally, we iterate over all the sentences in the book, and find the dissimilairty score. The following code only prints the output whenever the dissimilarity goes down in value. The result is a sentence with the smallest dissimilarity."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "24114694",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "#\t Dissimilarity\t Sentence\n",
      "1 \t 0.84 \t I have seldom heard him mention her under any other name\n",
      "2 \t 0.79 \t In his eyes she eclipses and predominates the whole of her sex\n",
      "3 \t 0.79 \t It was not that he felt any emotion akin to love for Irene Adler\n",
      "8 \t 0.77 \t But for the trained reasoner to admit such intrusions into his own delicate and finely adjusted temperament was to introduce a distracting factor which might throw a doubt upon all his mental results\n",
      "12 \t 0.75 \t My marriage had drifted us away from each other\n",
      "15 \t 0.75 \t From time to time I heard some vague account of his doings: of his summons to Odessa in the case of the Trepoff murder, of his clearing up of the singular tragedy of the Atkinson brothers at Trincomalee, and finally of the mission which he had accomplished so delicately and successfully for the reigning family of Holland\n",
      "19 \t 0.72 \t His rooms were brilliantly lit, and, even as I looked up, I saw his tall, spare figure pass twice in a dark silhouette against the blind\n",
      "131 \t 0.71 \t ” He looked from one to the other of us, as if uncertain which to address\n",
      "422 \t 0.68 \t Irene Adler, as I will still call her, had hurried up the steps; but she stood at the top with her superb figure outlined against the lights of the hall, looking back into the street\n",
      "1477 \t 0.67 \t Holmes stuck his feet up on the corner of the mantelpiece and, leaning back with his hands in his pockets, began talking, rather to himself, as it seemed, than to us\n",
      "2617 \t 0.67 \t For two streets he shuffled along with a bent back and an uncertain foot\n",
      "3429 \t 0.61 \t ”  The little man stood glancing from one to the other of us with half-frightened, half-hopeful eyes, as one who is not sure whether he is on the verge of a windfall or of a catastrophe\n",
      "\n",
      "The closest sentence with a 0.605834 dissimilarity is:\n",
      "\n",
      " ”  The little man stood glancing from one to the other of us with half-frightened, half-hopeful eyes, as one who is not sure whether he is on the verge of a windfall or of a catastrophe\n"
     ]
    }
   ],
   "source": [
    "obj_best = 1\n",
    "print(\"#\\t Dissimilarity\\t Sentence\")\n",
    "for i in range(len(processed_sentences)):  \n",
    "    obj = score_dissimilarity(pre_processing(sample_sentence),processed_sentences[i])  \n",
    "    if obj < obj_best: \n",
    "        print(i,\"\\t\",round((obj),2),\"\\t\",sentences[i])\n",
    "        obj_best, sentence_best = obj, sentences[i]\n",
    "\n",
    "print(\"\\nThe closest sentence with a %f dissimilarity is:\\n\\n\"%obj_best,sentence_best) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f8deb0c",
   "metadata": {},
   "source": [
    "Voila! Did the program correctly identify the passage? Try out other passages and their re-writings!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78b9df93",
   "metadata": {},
   "source": [
    "Copyright © 2023 Gurobi Optimization, LLC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d8632262",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
